package com.sbtr.util;

import java.util.List;

import com.sbtr.exception.CustException;

public class ListUtil {
    private ListUtil() {}
    
    public static <T> String join(List<T> src, String delimiter) {
        if (src == null || src.isEmpty() || delimiter == null) {
            return "";
        }
        StringBuilder sb = new StringBuilder();
        for (T t : src) {
            sb.append(t.toString());
            sb.append(delimiter);
        }
        return sb.substring(0, sb.length() - 1);
    }
    
    public static<T> boolean isEmpty(List<T> src) {
        return src == null || src.isEmpty() || src.get(0) == null;
    }
    
    public static boolean isEmpty(String[] src) {
        return src == null || src.length == 0;
    }
    
    public static <T> void assertNotEmpty(List<T> src, String msg) {
        if (isEmpty(src)) {
            throw new CustException(msg);
        }
    }
}
